// 7,8,1,2,3,4,5
// 如果最后low,high 落在(8,1), pivot总是在左边的， nums[pivot] > nums[high],要向右移动
// 如果low, high 落在 (1,2),pivot总是在左边的， nums[pivot] < nums[high], 要向左移动

func findMin(nums []int) int {
	low, high := 0, len(nums)-1
	for low < high {
		pivot := low + (high-low)/2
		if nums[pivot] < nums[high] {
			high = pivot // 这里-1 会报错， 如果落在 1,2上面，pivot-1了，就会落在 1前面的那个元素上了
		} else {
			low = pivot + 1
		}
	}
	return nums[low]
}